package com.mjh.zhujianju.service.agency;

import java.util.List;
import java.util.Map;

import com.livew.framework.base.service.BaseService;
import com.livew.framework.exception.XTBusinessException;
import com.mjh.zhujianju.model.agency.DeptUserEO;
import com.mjh.zhujianju.vo.agency.DeptUserVO;
import com.mjh.zhujianju.vo.base.SysUserVO;

/**
 * @author liuyang
 * @Description: 部门用户关系
 * @date 2018/8/8 22:57
 */
public interface DeptUserService extends BaseService<DeptUserEO> {

    /**
     * 根据部门id查询部门下人员信息
     * @param deptId 部门id
     * @return List
     */
    List<SysUserVO> queryDeptUserList(Long deptId);

    /**
     * 根据用户id查询用户详细信息
     * @param userId
     * @return
     */
    SysUserVO querySysUserInfo(Long userId) throws XTBusinessException;

    /**
     * 根据部门id查询人员id
     * @param deptId
     * @return 人员id集合
     */
    List<Long> queryDeptUserByDeptId(Long deptId);
    
    
    /**
     * 根据部门id查询人员id
     * @param userIds
     * @return 人员id集合
     */
    Map<Long,DeptUserVO> getDeptByUserIds(List<Long> userIds);

    /**
     * 根据用户ID
     * @param userId
     * @return
     */
	DeptUserVO getDeptByUserId(Long userId);

	int saveDeptUsers(List<DeptUserEO> deptUserEOS);

	/**
	 * 根据用户ID删除
	 * @param userId
	 * @throws XTBusinessException
	 */
	void delDeptByUserId(Long userId)throws XTBusinessException;


    /**
     * 根据部门id集合查询人员信息
     * @param list
     * @return
     */
    List<DeptUserEO> selectDeptByDeptIds(List<Long> list);

	
    /**
     * 根据部门id查询部门下人员信息
     * @param deptId 部门id
     * @return List
     */
    List<DeptUserVO> queryDeptListByDeptId(Long deptId);

}
